package com.qlslylq.ad.sdk.interfaces;

import com.qlslylq.ad.sdk.enums.AdPlatformEnum;

/**
 * 初始化事件<br/>
 */
public interface InitCallback {

    //表示已准备好，可以去加载广告了(并非表示所有联盟初始化成功了)
    //对于开屏广告，需要在load前或后做一定的延时处理，以避免code为450的情况出现。例如：
    //方式一：延时1000ms-2500ms-->load-->(可选择再次间隔一定时间如500ms-1500ms或间隔自身业务的处理)-->show
    //方式二：延时1000ms-2500ms-->loadAndShow
    //方式三：死循环等待至initSDK的success回调后再去load,show或loadAndShow。安全起见死循环应给一个极限时间即最大等候时长如2000ms。
    void success();

    /**
     * 所有初始化失败的联盟均会回调此函数，回调多次<br/>
     * 对于初始化失败的联盟，蒂烨SDK内部已做了策略处理；app端不需要做任何处理，仅用于调试时信息的获悉<br/>
     */
    void fail(AdPlatformEnum platform, int code, String msg);

}
